package com.k8.common.aop.internal.interceptor;

import com.k8.common.aop.internal.advice.Advice;
import com.k8.common.aop.internal.invocation.MethodInvocation;

@FunctionalInterface
public interface MethodInterceptor extends Advice {
    Object invoke(MethodInvocation invocation) throws Throwable;

    @Override
    default int getOrder() {
        return 0;
    }
    //todo 扩展拦截器反射调用的编译

    @Override
    default int getAdviceOrder() {
        return 0;
    }
}
